SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS OFF
GO

CREATE PROCEDURE [dbo].[spNovedadesMovimientos]


@Organizacion int,
@AnioLectivo int = null,
@Fecha varchar(10) = null,
@Alumno  int = null,
@Novedad int = null,
@SeccionOrigen int = Null,
@SeccionDestino int = null,
@Previas Varchar (10) = null,
@Carrera Int = null,
@EscuelaOrigen  int = Null,
@EscuelaDestino int = Null,
@Observaciones varchar (250) = null,
@mensaje int output,
@mess varchar (50) output,

-- Parametro para especifica que operacion es A=Alta, B=Baja, M=Modificacion
@ABM int
AS
SET NOCOUNT ON
--SET @Mnemo = RTRIM(LTRIM(@Mnemo))

--declare @Falta datetime
--Select @Falta = cast(@FechaAlta as datetime)
--if (@FechaBaja <> 'null') begin
--declare @FBaja datetime
--Select @FBaja = cast(@FechaBaja as datetime)
--end
declare @idalumno int
select @idalumno = idalumno from tb_alumnos where documento = @Alumno
declare @idorganizacion int
select @idorganizacion = idOrganizaciones from tb_organizaciones where CUISE = @Organizacion

if exists (Select * from tb_colamovimientosalumnos where Organizacion = @idorganizacion and AnioLectivo = @aniolectivo and Fecha = @fecha and Alumno =@idalumno and Novedad = @Novedad and SeccionOrigen = @SeccionOrigen and SeccionDestino = @SeccionDestino and Previas = @previas and Carrera = @Carrera and EscuelaOrigen = @EscuelaOrigen and EscuelaDestino = @EscuelaDestino and Observaciones = @Observaciones) begin
set @ABM = 3
end
else begin
set @ABM = 1
end

if @ABM = 1 begin
BEGIN TRANSACTION
INSERT INTO tb_colamovimientosalumnos (Organizacion,AnioLectivo,Fecha,Alumno,Novedad,SeccionOrigen,SeccionDestino,Previas,carrera,EscuelaOrigen,EscuelaDestino,Observaciones)
VALUES (@idorganizacion,@AnioLectivo,@Fecha,@idalumno,@Novedad,@SeccionOrigen,@SeccionDestino,@Previas,@Carrera,@EscuelaOrigen,@EscuelaDestino,@Observaciones)
declare @idColaMovimiento int 
Select @idColaMovimiento =  @@identity


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRANSACTION
end

if @ABM = 3 begin
BEGIN TRANSACTION
UPDATE tb_colamovimientosalumnos
SET Organizacion=@Organizacion,AnioLectivo=@AnioLectivo,Fecha=@Fecha,Alumno=@Alumno,Novedad=@Novedad,SeccionOrigen=@SeccionOrigen,SeccionDestino=@SeccionDestino,Previas=@Previas,carrera = @Carrera,EscuelaOrigen=@EscuelaOrigen,EscuelaDestino=@EscuelaDestino,Observaciones=@Observaciones
where Alumno = @Alumno and AnioLectivo = @AnioLectivo and  Organizacion=@Organizacion and Novedad=@Novedad


if @@Error = 0
	COMMIT TRANSACTION
else
	ROLLBACK TRAN
end

if @ABM = 2 begin
BEGIN TRANSACTION
DELETE tb_colamovimientosalumnos FROM  tb_colamovimientosalumnos WHERE   Alumno = @Alumno and AnioLectivo = @AnioLectivo and  Organizacion=@Organizacion and Novedad=@Novedad

if @@error = 0
	COMMIT TRAN
else
	ROLLBACK TRAN

end
select @mensaje = 1
select @mess = @mensaje
GO
GRANT EXECUTE ON  [dbo].[spNovedadesMovimientos] TO [Alumnos]
GRANT EXECUTE ON  [dbo].[spNovedadesMovimientos] TO [GestionInstitucional]
GO
